﻿using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Collections;

namespace MotorMetricas.Logica
{
    public class ManejoArchivo
    {
        private ArrayList archivos = new ArrayList();

        public ArrayList Archivos
        {
            get { return archivos; }
            set { archivos = value; }
        }


        public ArrayList ObtenerArchivos(String ruta)
        {
            String extension = "*.cs";

            DirectoryInfo rutaDirectorio = new DirectoryInfo( ruta );

            ArrayList archivosTemp = null;

            this.ObtenerArchivosSys( rutaDirectorio , extension );

            archivosTemp = this.Archivos;

            return archivosTemp;
        }


        public void ObtenerArchivosSys( DirectoryInfo dir , string extension )
        {
            FileInfo[] archivosDir = dir.GetFiles( extension );

            foreach ( FileInfo arch in archivosDir )
            {
                archivos.Add( arch.FullName );
            }

            DirectoryInfo[] directorios = dir.GetDirectories();

            foreach ( DirectoryInfo directorio in directorios )
            {
                ObtenerArchivosSys( directorio , extension );
            }

        } 


        public Boolean ValidarRuta( String ruta )
        {
            DirectoryInfo directorio = new DirectoryInfo( ruta );

            if (directorio.Exists)
                return true;
            else
                return false;
        }

        public Boolean ValidarArchivo( String ruta )
        {
            FileInfo archivo = new FileInfo( ruta );

            if (archivo.Exists)
                return true;
            else
                return false;
        }

    }
}
